//
//  AppDelegate.swift
//  iOSwechat
//
//  Created by apple on 16/2/26.
//  Copyright © 2016年 apple. All rights reserved.


import UIKit


/*
信息安全
Unity3d: 游戏开发c#
服务器开发语言: 1.java 2.php 3. .net c# c++ js
*/

/*
Swift产品名称不能是中文开头,如果中文开头,创建的对象都有问题,不能添加到数组中
Swift产品名称不能包含 -, 包含 - 会导致OC调用不了Swift
*/


@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        //HYLUserAccountViewModel.sharedInstance.loadUserInfo(<#T##loadUserInfoBack: (error: NSError?) -> ()##(error: NSError?) -> ()#>)
        
        // 输出保存的值
//        let account = HYLUserAccountViewModel.sharedInstance.userAccout
        // print("我在appDelegate里面获取到了账户: \(account)")
        
        setupNavItem()
        
        // 创建window
        window = UIWindow(frame: UIScreen .mainScreen().bounds)
        
        // 创建 tabBarVC 控制器
//        let tabBarVC = HYLMainViewController()
        
        // 设置window 跟控制器
//        window?.rootViewController = tabBarVC
        // 欢迎界面
        // window?.rootViewController = HYLWelcomeViewController()
        //新特性界面
         window?.rootViewController = defaultController()
        // 设置到界面上
        window?.makeKeyAndVisible()
        
//        HYLUserAccountViewModel.sharedInstance.
        
        // print("是否是新版本:\(isNewVersion())")
        
        return true
    }
    
    // MARK: - 创建defaultController方法 更不同条件跳转不同控制器
    // 判断账号是否存在这个操作，每次都需要调用的人来判断是否等于 nil: CZUserAccountTool.sharedInstance.userAccount != nil
    // 最好是让CZUserAccountTool提供一个返回 Bool 的属性
    private func defaultController() -> UIViewController {
        // 没有登录直接返回 MainViewController
        if !HYLUserAccountViewModel.sharedInstance.userLogin{
            return HYLMainViewController()
        }
        // 判断是否最新版本
        return isNewVersion() ? HYLNewFeatureViewController() : HYLWelcomeViewController()
    }
    
    // MARK: -切换控制器 改为类方法
    func switchViewController(isMail:Bool) {
        let controller = isMail ? HYLMainViewController() : HYLWelcomeViewController()
        window?.rootViewController = controller
    }
    
    class func outswitchViewController(isMail:Bool){
        (UIApplication.sharedApplication().delegate as! AppDelegate).switchViewController(isMail)
    }
    
    
    //MARK: - 导航栏字体颜色
    private func setupNavItem() {
        
        UINavigationBar.appearance().tintColor = UIColor.orangeColor()
    }
    
    //MARK: - 检测是否是新版本
    private func isNewVersion() -> (Bool){
        
        // 获取当前app的版本号
        let version = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
        // print("当前版本:\(version)")
        // 获取上一次运行的版本
        let sandboxVersionKey = "sandboxVersionKey"
        let sandboxVersion = NSUserDefaults.standardUserDefaults().stringForKey(sandboxVersionKey)
        // 对比
        let newVersion = version != sandboxVersion
        // 是最新版本，就将版本保存起来
        if newVersion {
            // 将当前版本号保存起来
            NSUserDefaults.standardUserDefaults().setObject(version, forKey: "sandboxVersionKey")
            NSUserDefaults.standardUserDefaults().synchronize()
        }
        // 返回结果
        return newVersion
    }
}










